The present invention relates generally to database management, and more particularly, to methods, systems, and computer program products for database table aggregation.
Databases are software systems that support the storage of data as collections of logical constructs called tables, each of the tables containing records with a specified structure. In some implementations, the physical representation of a table is one or more files on a disk. In the case where there is a large amount of data to be added to a database (or to be stored for an extended period of time), it is desirable to find approaches for storage that reduce the overhead, in terms of costs and retrieval times, to store and access these large amounts of data.
One approach is to distribute this data across a large number of tables or a large number of files for a given table, possibly based on some characteristic of the data, such as a timestamp interval. This is considered a partitioning or aggregation of the data. However, in situations where the volume of data to manage is highly variable (i.e., the tables or files produced vary significantly in terms of size or number of records), this solution may not be ideal, as this can result in excess storage costs, as well as a decrease in performance levels associated with access times.
What is needed, therefore, is a way to manage variably sized data volumes that provides balance to the resulting table and file sizes, thereby maximizing performance levels and reducing overhead costs otherwise associated with storing and accessing large amounts of data.